package co.edu.usbcali.sap.modelo.dto;

import antlr.debug.Event;
import co.edu.usbcali.sap.modelo.DocumentosProyecto;
import co.edu.usbcali.sap.modelo.Proyecto;
import co.edu.usbcali.sap.presentation.backEndBeans.ProyectoListConsulta;
import co.edu.usbcali.sap.presentation.backEndBeans.ProyectoView;
import co.edu.usbcali.sap.presentation.businessDelegate.BusinessDelegatorView;
import co.edu.usbcali.sap.utilities.FacesUtils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class ProyectoDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String proNombre;
    private String proTemaproyecto;
    private String comCodigo_Comite;
    private String estCodigo_Estado;
    private String fasproCodigo_FaseProyecto;
    private String tipproCodigo_TipoProyecto;
    private String proCodigo;
    private Date proFechafin;
    private Date proFechainicio;
    private boolean rowSelected = false;
    private ProyectoView proyectoView;
    private Proyecto proyecto;
    private ProyectoListConsulta consulta; 

    public Proyecto getProyecto() {
        return proyecto;
    }

    public String listener_update(ActionEvent e) {
        try {
            proyectoView.action_modifyWitDTO(((proCodigo == null) ||
                proCodigo.equals("")) ? null : new Integer(proCodigo),
                ((proFechafin == null) || proFechafin.equals("")) ? null
                                                                  : proFechafin,
                ((proFechainicio == null) || proFechainicio.equals("")) ? null
                                                                        : proFechainicio,
                ((proNombre == null) || proNombre.equals("")) ? null
                                                              : new String(
                    proNombre),
                ((proTemaproyecto == null) || proTemaproyecto.equals(""))
                ? null : new String(proTemaproyecto),
                ((comCodigo_Comite == null) || comCodigo_Comite.equals(""))
                ? null : new Integer(comCodigo_Comite),
                ((estCodigo_Estado == null) || estCodigo_Estado.equals(""))
                ? null : new Integer(estCodigo_Estado),
                ((fasproCodigo_FaseProyecto == null) ||
                fasproCodigo_FaseProyecto.equals("")) ? null
                                                      : new Integer(
                    fasproCodigo_FaseProyecto),
                ((tipproCodigo_TipoProyecto == null) ||
                tipproCodigo_TipoProyecto.equals("")) ? null
                                                      : new Integer(
                    tipproCodigo_TipoProyecto));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }
    
    public String obtenerDetalles(){
    	
    
    	FacesUtils.setSessionParameter("CodProyecto", proCodigo);
    	
    	return "goProyecto";
    }
    public String action_down() {
    	
		try {
			DocumentosProyecto documentosProyecto = BusinessDelegatorView.getDocumentosProyectopro(proCodigo,tipproCodigo_TipoProyecto);
			File f = new File(
					"C:\\Users\\usuario\\Documents\\Mis archivos recibidos\\"
							+ "Caso2."+documentosProyecto.getDocproFormato());
			f.createNewFile();			
			FileOutputStream fileInputStream2 = new FileOutputStream(f);
			System.out.println(documentosProyecto.getDocproArchivo().toString());
			fileInputStream2.write(documentosProyecto.getDocproArchivo());
			fileInputStream2.close();
			
			
		} catch (Exception exception) {

		}
		return "";
	}

    public void listener_cancel(ActionEvent e) {
        proCodigo = proyecto.getProCodigo().toString();
        proFechafin = proyecto.getProFechafin();
        proFechainicio = proyecto.getProFechainicio();
        proNombre = (proyecto.getProNombre() != null)
            ? proyecto.getProNombre().toString() : null;
        proTemaproyecto = (proyecto.getProTemaproyecto() != null)
            ? proyecto.getProTemaproyecto().toString() : null;
        //comCodigo_Comite = (proyecto.getComite().getComCodigo() != null)
          //  ? proyecto.getComite().getComCodigo().toString() : null;
        estCodigo_Estado = (proyecto.getEstado().getEstCodigo() != null)
            ? proyecto.getEstado().getEstCodigo().toString() : null;
        fasproCodigo_FaseProyecto = (proyecto.getFaseProyecto().getFasproCodigo() != null)
            ? proyecto.getFaseProyecto().getFasproCodigo().toString() : null;
        tipproCodigo_TipoProyecto = (proyecto.getTipoProyecto().getTipproCodigo() != null)
            ? proyecto.getTipoProyecto().getTipproCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Customer details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        proCodigo = proyecto.getProCodigo().toString();
        proFechafin = proyecto.getProFechafin();
        proFechainicio = proyecto.getProFechainicio();
        proNombre = (proyecto.getProNombre() != null)
            ? proyecto.getProNombre().toString() : null;
        proTemaproyecto = (proyecto.getProTemaproyecto() != null)
            ? proyecto.getProTemaproyecto().toString() : null;
      //  comCodigo_Comite = (proyecto.getComite().getComCodigo() != null)
        //    ? proyecto.getComite().getComCodigo().toString() : null;
        estCodigo_Estado = (proyecto.getEstado().getEstCodigo() != null)
            ? proyecto.getEstado().getEstCodigo().toString() : null;
        fasproCodigo_FaseProyecto = (proyecto.getFaseProyecto().getFasproCodigo() != null)
            ? proyecto.getFaseProyecto().getFasproCodigo().toString() : null;
        tipproCodigo_TipoProyecto = (proyecto.getTipoProyecto().getTipproCodigo() != null)
            ? proyecto.getTipoProyecto().getTipproCodigo().toString() : null;
        rowSelected = !rowSelected;
    }
    public void toggleSelected2(ActionEvent e) {
        proCodigo = proyecto.getProCodigo().toString();
        proFechafin = proyecto.getProFechafin();
        proFechainicio = proyecto.getProFechainicio();
        proNombre = (proyecto.getProNombre() != null)
            ? proyecto.getProNombre().toString() : null;
        proTemaproyecto = (proyecto.getProTemaproyecto() != null)
            ? proyecto.getProTemaproyecto().toString() : null;
      //  comCodigo_Comite = (proyecto.getComite().getComCodigo() != null)
        //    ? proyecto.getComite().getComCodigo().toString() : null;
        estCodigo_Estado = (proyecto.getEstado().getEstCodigo() != null)
            ? proyecto.getEstado().getEstCodigo().toString() : null;
        fasproCodigo_FaseProyecto = (proyecto.getFaseProyecto().getFasproCodigo() != null)
            ? proyecto.getFaseProyecto().getFasproCodigo().toString() : null;
        tipproCodigo_TipoProyecto = (proyecto.getTipoProyecto().getTipproCodigo() != null)
            ? proyecto.getTipoProyecto().getTipproCodigo().toString() : null;
        rowSelected = !rowSelected;
        
        
    }
    public String info() {
    	proyectoView.listener_txtId2(Integer.parseInt(proCodigo));
        return "/SAP-USB2/JSPX/proyecto.jspx";
    }

    public void setProyecto(Proyecto proyecto) {
        this.proyecto = proyecto;
    }

    public ProyectoView getProyectoView() {
        return proyectoView;
    }

    public void setProyectoView(ProyectoView proyectoView) {
        this.proyectoView = proyectoView;
    }

    public String getProNombre() {
        return proNombre;
    }

    public void setProNombre(String proNombre) {
        this.proNombre = proNombre;
    }

    public String getProTemaproyecto() {
        return proTemaproyecto;
    }

    public void setProTemaproyecto(String proTemaproyecto) {
        this.proTemaproyecto = proTemaproyecto;
    }

    public String getComCodigo_Comite() {
        return comCodigo_Comite;
    }

    public void setComCodigo_Comite(String comCodigo_Comite) {
        this.comCodigo_Comite = comCodigo_Comite;
    }

    public String getEstCodigo_Estado() {
        return estCodigo_Estado;
    }

    public void setEstCodigo_Estado(String estCodigo_Estado) {
        this.estCodigo_Estado = estCodigo_Estado;
    }

    public String getFasproCodigo_FaseProyecto() {
        return fasproCodigo_FaseProyecto;
    }

    public void setFasproCodigo_FaseProyecto(String fasproCodigo_FaseProyecto) {
        this.fasproCodigo_FaseProyecto = fasproCodigo_FaseProyecto;
    }

    public String getTipproCodigo_TipoProyecto() {
        return tipproCodigo_TipoProyecto;
    }

    public void setTipproCodigo_TipoProyecto(String tipproCodigo_TipoProyecto) {
        this.tipproCodigo_TipoProyecto = tipproCodigo_TipoProyecto;
    }

    public Date getProFechafin() {
        return proFechafin;
    }

    public void setProFechafin(Date proFechafin) {
        this.proFechafin = proFechafin;
    }

    public Date getProFechainicio() {
        return proFechainicio;
    }

    public void setProFechainicio(Date proFechainicio) {
        this.proFechainicio = proFechainicio;
    }

    public String getProCodigo() {
        return proCodigo;
    }

    public void setProCodigo(String proCodigo) {
        this.proCodigo = proCodigo;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }

	public ProyectoListConsulta getConsulta() {
		return consulta;
	}

	public void setConsulta(ProyectoListConsulta consulta) {
		this.consulta = consulta;
	}
}
